User interface and method for viewing short messages on a wireless device

ABSTRACT

A user interface and method for viewing short messages on a wireless device includes a viewing screen, a processor, a memory device and a message software interface module. The memory device stores electronic messages that have been transmitted or received by the wireless device. The message software interface module is executed by the processor and (a) displays a current electronic message on the viewing screen, (b) filters each of the electronic messages stored in the memory device to identify one or more select messages meeting a pre-set criteria, and (c) displays the one or more select messages on the viewing screen along with the current electronic message.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority from and is related to the following prior application: System and Method for Viewing Short Messages on a Mobile Communications Device, U.S. Provisional Application No. 60/219,793 filed Jul. 19, 2000. This prior application, including the entire written description and drawing figures, is hereby incorporated into the present application by reference.

BACKGROUND

[0002] 1. Field of the Invention

[0003] This invention relates generally to a user interface for electronic messaging. More particularly, the invention provides a user interface and method for displaying an electronic message in context with select stored electronic messages. The invention is particularly well-suited for displaying short messaging service (SMS) messages on Personal Digital Assistants, mobile communication devices, cellular phones, and wireless two-way e-mail communication devices (collectively referred to herein as “wireless devices”). The invention provides utility, however, in any device that displays electronic messages of any type.

[0004] 2. Description of the Related Art

[0005] Most cellular networks provide a short messaging service (SMS) whereby a short electronic message may be transmitted between wireless devices. The user interfaces currently available for viewing SMS messages on a wireless device, however, only enable a user to view the contents of one message at a time. For example, FIG. 1 shows a typical user interface 10 for viewing an SMS message on a wireless device. This known user interface 10 only displays the text of the message (“6:30pm”), and the sender or receiver information associated with the message (“From: 888-7342”). Viewing only the information shown in FIG. 1, a user may be unable to place the message in context. For instance, the message “6:30pm” might have been received in response to an earlier electronic message sent by the user. If the user could not recall his or her previous message, however, the response “6:30pm” would be meaningless.

SUMMARY

[0006] A user interface and method for viewing short messages on a wireless device includes a viewing screen, a processor, a memory device and a message software interface module. The memory device stores electronic messages that have been transmitted or received by the wireless device. The message software interface module is executed by the processor and (a) displays a current electronic message on the viewing screen, (b) filters each of the electronic messages stored in the memory device to identify one or more select messages meeting a pre-set criteria, and (c) displays the one or more select messages on the viewing screen along with the current electronic message.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 shows a typical user interface for viewing SMS messages on a wireless device;

[0008]FIG. 2 shows an exemplary user interface for viewing an electronic message in context with select stored electronic messages according to an embodiment of the claimed invention;

[0009]FIG. 3 is a flow diagram showing an exemplary method for identifying stored electronic messages that are related to the current electronic message;

[0010]FIG. 4 is a flow diagram showing an exemplary method for determining whether the outside address of an incoming current electronic message matches the outside address of a stored electronic message; and

[0011]FIG. 5 is a flow diagram showing an exemplary method for determining whether the outside address of an outgoing current electronic message matches the outside address of a stored electronic message.

DETAILED DESCRIPTION

[0012] Referring now to the figures, FIG. 2 shows an exemplary user interface 20 for a wireless device 21 that displays a current electronic message 22 in context with select stored electronic messages 24. The user interface 20 includes a viewing screen 26, a processor 28, a transceiver 30, and a memory device 32. The user interface 20 also includes a message software interface module 34 that is executed by the processor 28. Operationally, the message software interface module 34 stores incoming and outgoing electronic messages 36 in the memory device 32, and enables a user to simultaneously view the current incoming or outgoing message 22 and the select stored electronic messages 24.

[0013] The message software interface module 34 preferably saves and indexes every electronic message transmitted or received by the wireless device 21. In an alternative embodiment, the message software interface module 34 may give the user the option to choose which messages to save and which to discard.

[0014] Each stored electronic message 36 preferably includes a message body 38 and both a sender address 40 (the “From” address) and a receiver address 42 (the “To” address). The sender and receiver addresses displayed on the viewing screen 26 in FIG. 2, for example, are in the form of a telephone number which is typical for SMS messages. It should be understood, however, that the user interface 20 is not limited to use with SMS messages. Rather, the user interface 20 may be used with any form of electronic message, such as e-mail messages and SMS messages.

[0015] In addition to the sender and receiver addresses 40 and 42, the message software interface module 34 may also attach some type of indexing data 44 to each message, such as an ordinal value or an electronic time-stamp indicating when the message was transmitted or received.

[0016] Alternatively, the stored electronic messages 36 may include a message body 36, indexing data 44, and an outside address only. The outside address of a message can be either the sender address 40 or the receiver address 42, depending upon the context of the message. For instance, if a message was received by the wireless device 21, the outside address is the sender address 42 (the “From” address). If, on the other hand, a message has been, or will be, transmitted from the wireless device 21, then the outside address is the receiver address (the “To” address). If the message software interface module 34 stores only the outside address, however, then the indexing data 44 should preferably indicate whether the stored electronic message was incoming or outgoing.

[0017] In addition to saving and indexing incoming and outgoing messages, the message software interface module 34 filters the stored electronic messages 36 to select messages relating to the current electronic message 22, and displays the current electronic message 22 along with the select messages 26. The current electronic message 22 may preferably be any message (stored or otherwise) currently being accessed by the user. For instance, the current electronic message 22 may be a new message being composed by the user, a message recently received by the wireless device 21, or any stored electronic message 36 selected by the user. Once a current electronic message 22 has been selected, the message software interface module 34 preferably assesses each stored electronic message 36 to identify select messages 24 having matching outside addresses. The message software interface module 34 may then further limit the select messages 24 using the indexing data 44. For example, in FIG. 2 the current electronic message 22 includes the outside address, “From: 888-7342.” The select messages 24 were preferably identified from among the stored electronic messages 36 because they each include the matching outside address “888-7342” as either their sender address 40 or receiver address 42. In addition, the message software interface module 34 may have limited the select messages 24 to those shown by comparing the indexing data 44 of the current and stored electronic messages for proximity. The operation of identifying select messages 24 is discussed in further detail with respect to FIGS. 3, 4 and 5.

[0018] In an alternative embodiment, the message software interface module 34 may display those stored electronic messages 36 that are related to the current electronic message 22 by only the proximity of their indexing data 44. For instance, if the incoming and outgoing messages were indexed according to the order in which they were transmitted or received, the message software interface module 34 may display, along with the current electronic message 22, a select number of the most recently saved messages. Preferably the number of displayed messages is selected by the user. If the current electronic message 22 is selected from among the stored electronic messages 36, then the user may also have the option of displaying a select number of messages that were saved either prior to or after the current electronic message 22.

[0019] In another embodiment, the message software interface module 34 may identify related stored electronic messages 24 by comparing the message body 38 of each stored electronic message 36 with a keyword selected by the user. This alternative method of matching the current electronic message 22 with select stored electronic messages 24 may be implemented by itself, or as a means of further limiting the select messages 24 identified by the other methods described herein.

[0020]FIG. 3 is a flow diagram showing an exemplary method 50 for identifying stored electronic messages that are related to the current electronic message. In step 52, an electronic message being accessed by the user is set as the current electronic message 51. At step 54, the current sender and receiver addresses are obtained from the current electronic message 51, and it is determined whether the current electronic message 51 is incoming or outgoing. An incoming message refers to an electronic message that has been received by the wireless device, and an outgoing message may refer to either (a) an electronic message that has been transmitted by the wireless device; or (b) a new message being composed by the user.

[0021] In step 56, the indexing data is obtained from the current electronic message 51, or, if the current electronic message 51 has not yet been saved, indexing data is generated for the current electronic message 51. For instance, the message software interface module 34 may index stored electronic messages using an electronic time-stamp that indicates the time and date a message was transmitted or received. If the current electronic message 51 has not been saved, then this information may be obtained from the transmission log, and an electronic time-stamp may then be generated. Alternatively, if the stored electronic messages are indexed using an ordinal value, then an unsaved current electronic message may be assigned the next available value.

[0022] In step 58, all stored electronic messages are marked as unprocessed in relation to the current electronic message 51. The stored electronic messages may be marked by means of a Boolean flag, a stack of message identifiers, or any other means of distinguishing processed from unprocessed messages. Then, in steps 60-72, each stored electronic message is processed by the message software interface module 34 to determine if it is related to the current electronic message. Once a stored electronic message has been processed, it is marked as processed in step 72, and steps 60-72 are repeated until every stored electronic message has been processed.

[0023] In the processing steps 60-72, related messages are selected, preferably based on two pre-set criteria: (a) whether the outside address of the current electronic message 51 matches the outside address of the stored electronic message, and (b) whether the indexing data of the stored electronic message is within a pre-selected storage proximity range in relation to the indexing data of the current electronic message. In steps 62 and 64, the sender and receiver addresses of a stored electronic message are obtained from the message storage memory device 65, and compared with the outside address of the current electronic message 51. An exemplary method for determining whether the outside address of the stored electronic message matches the outside address of the current electronic message is described below with reference to FIGS. 4 and 5. If the outside addresses match, then the proximity of the indexing data is assessed in steps 66 and 68. If the outside addresses do not match, however, then further processing is unnecessary, and the stored electronic message is marked as processed in step 72.

[0024] In step 66, the indexing data for the stored electronic message is retrieved from the message storage memory device 65. The indexing data of the stored electronic message is then compared to the indexing data of the current electronic message 51 for proximity at step 68. Preferably, the user may pre-select the storage proximity range within which a stored electronic message must fall to be considered a select message. For example, the user might indicate that all stored electronic messages indexed with an electronic time-stamp that is more than 12 hours different from the time-stamp of the current electronic message are not proximate and should be disregarded. Alternatively, if the stored electronic messages are indexed with an ordinal value, the user might, for example, indicate that only those stored electronic messages within an ordinal distance of 2 from the current electronic message are to be considered proximate. If the stored electronic message is not proximate, then it is marked as processed in step 72.

[0025] If, however, the stored electronic message is both proximate and has a matching outside address, then it is appended to a related message list 74 (step 70) before being marked as processed in step 72. The related message list 74 may comprise a collection of unique identifiers that allow the select messages to be identified and retrieved, or, alternatively, it might comprise complete copies of the select messages. In step 76, once all of the stored electronic messages have been processed, the select messages are displayed on the viewing screen 78 along with the current electronic message 51. Each message may be displayed along with its outside address, or alternatively the outside address may be displayed only once since it is the same for each displayed message. In an alternative embodiment, the select messages may appear on the viewing screen 78 as they are identified in step 70.

[0026]FIG. 4 is a flow diagram showing an exemplary method 80 for determining whether the outside address of an incoming current electronic message matches the outside address of a stored electronic message. In step 82, it is determined whether the stored electronic message is an incoming or outgoing type message. If the stored electronic message is of the incoming type, then the sender address of the current electronic message is compared with the sender address of the stored electronic message (step 84). The outgoing addresses of the current and stored electronic messages match if these two sender addresses correspond. (Step 86). If, on the other hand, the stored electronic message is of the outgoing type, then the sender address of the current electronic message is compared with the receiver address of the stored electronic message (step 88). If the sender and receiver addresses correspond, then the outside addresses match (step 86).

[0027]FIG. 5 is a flow diagram showing an exemplary method 90 for determining whether the outside address of an outgoing current electronic message matches the outside address of a stored electronic message. In step 92, it is determined whether the stored electronic message is an incoming or outgoing message. If the stored electronic message is of the incoming type, then the receiver address of the current electronic message is compared with the sender address of the stored electronic message (step 94). If the receiver and sender addresses correspond, then the outside addresses match (step 96). If, however, the stored electronic message is of the outgoing type, then the receiver address of the current electronic message is compared with the receiver address of the stored electronic message (step 98). If these two receiver addresses correspond, then the outgoing addresses match.

[0028] The embodiments described herein are examples of structures, systems or methods having elements corresponding to the elements of the invention recited in the claims. This written description may enable those skilled in the art to make and use embodiments having alternative elements that likewise correspond to the elements of the invention recited in the claims. The intended scope of the invention thus includes other structures, systems or methods that do not differ from the literal language of the claims, and further includes other structures, systems or methods with insubstantial differences from the literal language of the claims. 

I claim:
 1. A wireless device, comprising: a viewing screen; a processor; a memory device that stores electronic messages that have been transmitted or received by the wireless device; and a message software interface module executed by the processor that (a) displays a current electronic message on the viewing screen, (b) filters each of the electronic messages stored in the memory device to identify one or more select messages meeting a pre-set criteria, and (c) displays the one or more select messages on the viewing screen along with the current electronic message.
 2. The wireless device of claim 1, wherein the pre-set criteria for the one or more select messages is configurable by a user of the wireless device.
 3. The wireless device of claim 1, wherein the pre-set criteria is an address matching condition between an outside address of the one or more select messages and an outside address of the current electronic message.
 4. The wireless device of claim 1, wherein the pre-set criteria is a time-frame selected by a user of the wireless device during which the one or more select messages were transmitted or received by the wireless device.
 5. The wireless device of claim 1, wherein the pre-set criteria is a user-selected storage proximity range for the one or more select messages in relation to the current electronic message.
 6. The wireless device of claim 1, wherein the pre-set criteria includes (a) an outside address for the one or more select messages that matches an outside address of the current electronic message, and (b) a time-frame selected by a user of the wireless device during which the one or more select messages were transmitted or received by the wireless device.
 7. The wireless device of claim 1, wherein the pre-set criteria includes (a) an outside address for the one or more select messages that matches an outside address of the current electronic message, and (b) a user-selected storage proximity range for the one or more select messages in relation to the current electronic message.
 8. A wireless device, comprising: a viewing screen; a processor; a memory device that stores electronic messages that have been transmitted or received by the wireless device, wherein each stored electronic message includes indexing data; and a message software interface module executed by the processor that (a) displays on the viewing screen a current electronic message, (b) locates one or more select messages by filtering each electronic message stored in the memory device to identify stored electronic messages having indexing data that falls within a pre-set storage proximity range in relation to the current electronic message, and (c) displays the one or more select electronic messages on the viewing screen along with the current electronic message.
 9. The wireless device of claim 8, wherein the pre-set storage proximity range is configurable by a user of the wireless device.
 10. The wireless device of claim 8, wherein the indexing data comprises ordinal values indicating the sequence in which the stored electronic messages were transmitted or received by the wireless device.
 11. The wireless device of claim 8, wherein the indexing data comprises an electronic time-stamp indicating the date the stored electronic messages were transmitted or received by the wireless device.
 12. The wireless device of claim 11, wherein the time-stamp further indicates the time the stored electronic messages were transmitted or received by the wireless device.
 13. A wireless device, comprising: a viewing screen; a processor; a memory device that stores electronic messages that have been transmitted or received by the wireless device, wherein each electronic message includes an outside address; and a message software interface module executed by the processor that (a) displays on the viewing screen a current electronic message having a current outside address, (b) locates one or more select electronic messages by comparing the outside address of each electronic message stored in the memory device with the current outside address, and (c) displays the one or more select electronic messages on the viewing screen along with the current electronic message.
 14. The wireless device of claim 13, wherein: each electronic message stored in the memory device includes a sender address and a receiver address, one of which is the outside address; and the current electronic message includes a current sender address and a current receiver address, one of which is the current outside address.
 15. The wireless device of claim 14, wherein: the message software interface module also determines whether the current electronic message is of an incoming type or an outgoing type; if the current electronic message is of the incoming type, then the message software interface module locates the one or more select electronic messages by comparing the current sender address with both the receiver and sender addresses of each electronic message stored in the memory device; and if the current electronic message is of the outgoing type, then the software interface module locates the one or more select electronic messages by comparing the current receiver address with both the receiver and sender addresses of each electronic message stored in the memory device.
 16. The wireless device of claim 14, wherein: the message software interface module also determines (a) whether the current electronic message is of an incoming type or an outgoing type, and (b) whether each stored electronic message is of the incoming type or the outgoing type; if the current electronic message is of the incoming type, then the message software interface module locates the one or more select electronic messages by comparing the current sender address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type; and if the current electronic message is of the outgoing type, then the message software interface module locates the one or more select electronic messages by comparing the current receiver address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type.
 17. The wireless device of claim 13, wherein each electronic message stored in the memory device further includes indexing data, and the indexing data is used by the message software interface module to further limit the select electronic messages to electronic messages having indexing data falling within a pre-set storage proximity range.
 18. The wireless device of claim 17, wherein the pre-set storage proximity range is configurable by a user of the wireless device.
 19. The wireless device of claim 17, wherein the indexing data comprises ordinal values indicating the sequence in which the stored electronic messages were transmitted or received by the wireless device.
 20. The wireless device of claim 17, wherein the indexing data comprises an electronic time-stamp indicating the date the stored electronic messages were transmitted or received by the wireless device.
 21. The wireless device of claim 20, wherein the time-stamp further indicates the time the stored electronic messages were transmitted or received by the wireless device.
 22. The wireless device of claim 13, wherein the message software interface module further limits the one or more select electronic messages by comparing one or more keywords selected by a user of the wireless device with each electronic message stored in the memory device.
 23. The wireless device of claim 13, wherein the message software interface module locates the one or more select electronic messages by instead comparing one or more keywords selected by a user with each electronic message stored in the memory device.
 24. A method for displaying a current electronic message on a wireless device in context with one or more of a plurality of stored electronic messages, comprising the steps of: filtering each stored electronic message to identify one or more select messages meeting a pre-set criteria; and displaying the current electronic message on a viewing screen along with the one or more select messages meeting the pre-set criteria.
 25. The method of claim 24, wherein the pre-set criteria for the one or more select messages is configurable by a user of the wireless device.
 26. The method of claim 24, wherein the pre-set criteria requires the one or more select messages to each include an outside address that matches a current outside address of the current electronic message.
 27. The method of claim 24, wherein the pre-set criteria requires the one or more select messages to each have been transmitted or received within a time-frame selected by a user of the wireless device.
 28. The method of claim 24, wherein the pre-set criteria requires the one or more select messages to each have been stored within a user-selected storage proximity range in relation to the current electronic message.
 29. The method of claim 24, wherein the pre-set criteria requires the one or more select messages to each (a) include an outside address that matches a current outside address of the current electronic message, and (b) have been transmitted or received within a time-frame selected by a user.
 30. The method of claim 24, wherein the pre-set criteria requires the one or more select messages to each (a) include an outside address that matches a current outside address of the current electronic message, and (b) have been stored within a user-selected storage proximity range in relation to the current electronic message.
 31. A method for displaying a current electronic message on a wireless device in context with one or more of a plurality of stored electronic messages, comprising the steps of: identifying indexing data for each stored electronic message; identifying current indexing data for the current electronic message; comparing the current indexing data with the indexing data for each stored electronic message to identify stored electronic messages having indexing data that falls within a pre-set storage proximity range from the current indexing data; and displaying the current electronic message on a viewing screen along with each of the stored electronic messages identified as having indexing data falling within the pre-set storage proximity range.
 32. The method of claim 31, wherein the pre-set storage proximity range is configurable by a user of the wireless device.
 33. The method of claim 31, wherein the current indexing data and the indexing data for each stored electronic message are ordinal values.
 34. The method of claim 33, wherein: ordinal values are assigned when electronic messages are stored; and if the current electronic message has not been stored, then it is assigned a next available ordinal value.
 35. The method of claim 31, wherein the current indexing data and the indexing data for each stored electronic message are time-stamps.
 36. A method for displaying a current electronic message on a wireless device in context with one or more of a plurality of stored electronic messages, comprising the steps of: identifying a current outside address for the current electronic message; identifying an outside address for each stored electronic message; comparing the current outside address with the outside address of each stored electronic message; and displaying the current electronic message on a viewing screen along with each of the stored electronic messages in which the outside address matches the current outside address.
 37. The method of claim 36, comprising the further step of: displaying the current outside address on the viewing screen.
 38. The method of claim 36, wherein: each stored electronic message includes a sender address and a receiver address, one of which is the outside address; and the current electronic message includes a current sender address and a current receiver address, one of which is the current outside address.
 39. The method of claim 38, wherein the step of comparing the current outside address with the outside address of each stored electronic message is performed by a method comprising the steps of: determining whether the current electronic message is of an incoming type or an outgoing type; if the current electronic message is of the incoming type, then comparing the current sender address with both the receiver and sender addresses of each stored electronic message; and if the current electronic message is of the outgoing type, then comparing the current receiver address with both the receiver and sender addresses of each stored electronic message.
 40. The method of claim 38, wherein the step of comparing the current outside address with the outside address of each stored electronic message is performed by a method comprising the steps of: determining whether the current electronic message is of an incoming type or an outgoing type; determining whether each stored electronic message is of the incoming type or the outgoing type; if the current electronic message is of the incoming type, then comparing the current sender address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type; and if the current electronic message is of the outgoing type, then comparing the current receiver address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type.
 41. The method of claim 36, comprising the further step of: appending to a related message list each of the stored electronic messages in which the outside address matches the current outside address.
 42. The method of claim 36, comprising the further steps of: identifying indexing data for each stored electronic message; identifying current indexing data for the current electronic message; comparing the current indexing data with the indexing data for each stored electronic message to identify stored electronic messages having indexing data that falls within a pro-set storage proximity range from the current indexing data; and further limiting the stored electronic messages that are displayed on the viewing screen to those having indexing data that falls within the pre-set storage proximity range.
 43. The method of claim 42, wherein the pre-set storage proximity range is configurable by the user of the wireless device.
 44. The method of claim 42, wherein the current indexing data and the indexing data for each stored electronic message are ordinal values.
 45. The method of claim 42, wherein the current indexing data and the indexing data for each stored electronic message are time-stamps.
 46. A method for displaying a current electronic message on a wireless device in context with one or more of a plurality of stored electronic messages, comprising the steps of: setting an electronic message being accessed by a user as the current electronic message; determining if the current electronic message is of an incoming type or an outgoing type; if the current electronic message is of the incoming type, then identifying a current sender address for the current electronic message; if the current electronic message is of the outgoing type, then identifying a current receiver address for the current electronic message; identifying current indexing data for the current electronic message; identifying a sender address and a receiver address for each stored electronic message; determining whether each stored electronic message is of the incoming type or the outgoing type; if the current electronic message is of the incoming type, then identifying stored electronic messages having a matching address by comparing the current sender address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type; if the current electronic message is of the outgoing type, then identifying stored electronic messages having a matching address by comparing the current receiver address with (a) the sender address of each stored electronic message that is of the incoming type, and (b) the receiver address of each stored electronic message that is of the outgoing type; identifying indexing data for each stored electronic message having a matching address; comparing the current indexing data with the indexing data for each stored electronic message having a matching address to identify stored electronic messages having indexing data that falls within a pre-set storage proximity range from the current indexing data; appending each stored electronic message to a related message list if the stored electronic message (a) has a matching address, and (b) has indexing data that falls within the pre-set storage proximity range from the current indexing data; and displaying the current electronic message on a viewing screen along with each electronic message appended to the related message list. 